As computer hardware and software technology continues to progress, the need for larger and faster mass storage devices for storing computer software and data continues to increase. Electronic databases and computer applications such as multimedia applications require large amounts of disk storage space. An axiom in the computer industry is that there is no such thing as enough memory and disk storage space.
To meet these ever increasing demands, hard disk drives continue to evolve and advance. Some of the early disk drives had a maximum storage capacity of five megabytes and used fourteen inch platters, whereas today's hard disk drives are commonly over one gigabyte and use 3.5 inch platters. Correspondingly, advances in the amount of data stored per unit of area, or areal density, have dramatically accelerated. For example, in the 1980's, areal density increased about thirty percent per year while in the 1990's annual areal density increases have been around sixty percent. The cost per megabyte of a hard disk drive is inversely related to its areal density.
Mass storage device manufacturers strive to produce high speed hard disk drives with large data capacities at lower and lower costs. A high speed hard disk drive is one that can store and retrieve data at a fast rate. One aspect of increasing disk drive speed and capacity is to improve or increase the areal density. Areal density may be increased by improving the method of storing and retrieving data.
In general, mass storage devices and systems, such as hard disk drives, include a magnetic storage media, such as rotating disks or platters, a spindle motor, read/write heads, an actuator, a pre-amplifier, a read channel, a write channel, a servo controller or digital signal processor, and control circuitry to control the operation of the hard disk drive and to properly interface the hard disk drive to a host or system bus. The read channel, write channel, servo controller, and a memory may all be implemented as one integrated circuit that is referred to as a data channel. The control circuitry often includes a microprocessor for executing control programs or instructions during the operation of the hard disk drive.
A hard disk drive performs write and read operations when storing and retrieving data. A typical hard disk drive performs a write operation by transferring data from a host interface to its control circuitry. The control circuitry then stores the data in a local dynamic random access memory. A control circuitry processor schedules a series of events to allow the information to be transferred to the disk platters through a write channel. The control circuitry moves the read/write heads to the appropriate track and locates the appropriate sector of the track. Finally, the hard disk drive control circuitry transfers the data from the dynamic random access memory to the located sector of the disk platter through the write channel. A sector generally has a fixed data storage allocation, typically 512 bytes of user data. A write clock controls the timing of a write operation in the write channel. The write channel may encode the data so that the data can be more reliably retrieved later.
In a read operation, the appropriate sector to be read is located by properly positioning the read head and data that has been previously written to the disk is read. The read/write head senses the changes in the magnetic flux of the disk platter and generates a corresponding analog read signal. The read channel receives the analog read signal, conditions the signal, and detects "zeros" and "ones" from the signal. The read channel conditions the signal by amplifying the signal to an appropriate level using automatic gain control (AGC) techniques. The read channel then filters the signal, to eliminate unwanted high frequency noise, equalizes the channel, detects "zeros" and "ones" from the signal, and formats the binary data for the control circuitry. The binary or digital data is then transferred from the read channel and is stored in the DRAM of the control circuitry. The processor then communicates to the host that data is ready to be transferred. A read clock controls the timing of a read operation in the read channel.
As the disk platters are moving, the read/write heads must align or stay on a particular track. This is accomplished by reading auxiliary information from the disk called a servo wedge. The servo wedge indicates the position of the heads both in a radial direction and along the circumference of a track. The data channel receives this position information so the servo controller can continue to properly position the heads on the track.
Traditional hard disk drive data or read channels used a technique known as peak detection for extracting or detecting digital information from the analog information stored on the magnetic media. In this technique, the waveform is level detected and if the waveform level is above a threshold during a sampling window, the data is considered a "one." More recently, advanced techniques utilizing discrete time signal processing to reconstruct the original data written to the disk are being used in read channel electronics to improve areal density. In these techniques, the data is synchronously sampled using a data recovery clock. The sample is then processed through a series of mathematical operations using signal processing theory.
There are several types of synchronously sampled data channels. Partial response, maximum likelihood (PRML); extended PRML (EPRML); enhanced, extended PRML (EEPRML); fixed delay tree search (FDTS); and decision feedback equalization (DFE) are several examples of different types of synchronously sampled data channels using discrete time signal processing techniques. The maximum likelihood detection performed in many of these systems is usually performed by a Viterbi decoder implementing the Viterbi algorithm, named after Andrew Viterbi who developed it in 1967.
The synchronously sampled data channel or read channel generally requires mixed-mode circuitry for performing a read operation. The circuitry may perform such functions as analog signal amplification, automatic gain control (AGC), continuous time filtering, signal sampling, discrete time signal processing manipulation, timing recovery, signal detection, and formatting. In all synchronously sampled data channels, the major goal during a read operation is to accurately retrieve the data with the lowest bit error rate in the highest noise environment. The data channel circuitry, including both a read channel and a write channel, may be implemented on a single integrated circuit package that contains various input and output (I/O) pins.
The Viterbi detectors used in synchronously sampled data channels receive a read signal and perform maximum likelihood detection to detect "zeros" and "ones" based on the read signal. A Viterbi detector performs multiple add, compare, select, and store operations for each discrete sample provided by the read signal. Based on these operations, the Viterbi detector performs sequence decoding to provide a digital output signal indicating data written to the rotating disks.
A first generation of PRML channels was equalized to PR4 response. However, at current recording densities, frequency response of the magnetic recording channel closely resembles an extended partial response class 4 (EPR4) channel response. The discrete-time transfer function of an EPR4 channel is 1+D-D.sup.2 -D.sup.3, where "D"=e.sup.-j.omega.T, where ".omega." is a frequency variable in radians per second and "T" is the sampling time interval in seconds. An EPR4 channel has more low frequency and less high frequency content than a PR4 channel. Therefore, modeling a magnetic recording channel as an EPR4 response yields better performance at higher recording densities, since equalizing a magnetic recording channel to an EPR4 channel response results in less high frequency noise enhancement.
Detecting read data based on an EPR4 response significantly raises the computational requirements of an associated EPR4 Viterbi detector. For example, in performing an add, compare, and select procedure, an EPR4 Viterbi detector performs 16 add, 8 compare, and 8 select operations. In contrast, a PR4 Viterbi detector performs 4 add, 2 compare and 2 select operations. The increased computational requirements of an EPR4 Viterbi detector, if not compensated for, may slow read times for an associated hard disk drive, which may be unacceptable. Moreover, as aerial densities increase, more advanced frequency responses, such as EEPR4 may be utilized, which possess even greater computational requirements.